import 'package:casdon/modules/login/application/notifier/login_code_notifier.dart';
import 'package:casdon/modules/login/domain/states/login_code_state.dart';
import 'package:casdon/modules/login/domain/usecases/send_emailCode_usecase.dart';

import 'package:casdon/modules/login/providers/login_provider.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';

import 'package:casdon/modules/login/domain/usecases/send_sms_usecase.dart';
import 'package:casdon/modules/login/domain/usecases/verify_otp_usecase.dart';

// 用例
final sendSmsUsecaseProvider = Provider((ref) => SendSmsUsecase(ref.read(authRepositoryProvider), ref.read(phoneValidatorProvider)));
final sendEmailcodeProvider = Provider((ref) =>  SendEmailcodeUsecase(repository: ref.read(authRepositoryProvider), validator: ref.read(emailValidatorProvider)));
final verifyOtpUsecaseProvider = Provider((ref) => VerifyOtpUsecase(ref.read(authRepositoryProvider)));


final loginCodeProvider = NotifierProvider.autoDispose<LoginCodeNotifier, LoginCodeState>(
  () => LoginCodeNotifier(),
);




